using System;

namespace PeDALS.Tools.AZ.PSTArchive.PSTData
{
    internal class MessageStats
    {
        private UInt64 m64NIDraw;
        private string mstrDisplayTo;
        private string mstrMessageClass;
        private DateTime mdatMessageDeliveryTime;
        private int mintMessageSize;
        private string mstrSenderName;
        private string mstrSubject;

        internal MessageStats(UInt64 u64NIDraw, string strDisplayTo, string strMessageClass, DateTime datMessageDeliveryTime, int intMessageSize, string strSenderName, string strSubject)
        {
            m64NIDraw = u64NIDraw;
            mstrDisplayTo = strDisplayTo;
            mstrMessageClass = strMessageClass;
            mdatMessageDeliveryTime = datMessageDeliveryTime;
            mintMessageSize = intMessageSize;
            mstrSenderName = strSenderName;
            mstrSubject = strSubject;
        }

        internal UInt64 NIDraw
        {
            get { return m64NIDraw; }
        }

        internal NIDTypes NIDType
        {
            get { return (NIDTypes)(m64NIDraw & 0x1f); }
        }

        internal string DisplayTo
        {
            get { return mstrDisplayTo; }
        }
	
        internal string MessageClass
        {
            get { return mstrMessageClass; }
        }
	
        internal DateTime MessageDeliveryTime
        {
            get { return mdatMessageDeliveryTime; }
        }
	
        internal int MessageSize
        {
            get { return mintMessageSize; }
        }
	
        internal string Sender
        {
            get { return mstrSenderName; }
        }
	
        internal string Subject
        {
            get { return mstrSubject; }
        }
    }
}